import sys
input=sys.stdin.readline
def solve():
n=int(input())
a,b,c=0,0,0
l=list(map(int, input().split()))
for i in range(n):
if l[i]!=(i+1) and l[i]!=(n-i):
b+=1
elif l[i]!=(i+1):
a+=1
elif l[i]!=(n-i):
c+=1
if c>=(a+b):
print('First')
elif a>b+c:
print('Second')
else:
print('Tie')
for _ in range(int(input())):
solve()
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <algorithm>
#include <string>
#include <set>
#include <queue>
using namespace std;
// ifstream fin ("input");
int t;
int n;
int arr[1000000];
int a;
int main(){
cin >> t;
for(int i = 0; i < t; i ++){
cin >> n;
int firstCount = 0;
int secondCount = 0;
int a;
bool oddMiddle = false;
for(int j = 0; j < n; j ++){
cin >> a;
if(n % 2 == 1 && j == n / 2 && a == j + 1){//odd middle
oddMiddle = 1;
continue;
}
if(a == j + 1){
firstCount ++;
}
if(a == n - j){
secondCount ++;
}
}
if((n + 1 - oddMiddle) / 2 <= firstCount){
cout << "First\n";
}else if(n / 2 + 1 <= secondCount){
cout << "Second\n";
}else{
cout << "Tie\n";
}
}
}
80A - Panoramix's Prediction | 1354B - Ternary String |
122B - Lucky Substring | 266B - Queue at the School |
1490A - Dense Array | 1650B - DIV + MOD |
1549B - Gregor and the Pawn Game | 553A - Kyoya and Colored Balls |
1364A - XXXXX | 1499B - Binary Removals |
1569C - Jury Meeting | 108A - Palindromic Times |
46A - Ball Game | 114A - Cifera |
776A - A Serial Killer | 25B - Phone numbers |
1633C - Kill the Monster | 1611A - Make Even |
1030B - Vasya and Cornfield | 1631A - Min Max Swap |
1296B - Food Buying | 133A - HQ9+ |
1650D - Twist the Permutation | 1209A - Paint the Numbers |
1234A - Equalize Prices Again | 1613A - Long Comparison |
1624B - Make AP | 660B - Seating On Bus |
405A - Gravity Flip | 499B - Lecture |